--- id: TASK-031 title: 'TUI: Source status page (page 4)' status: To Do assignee: [] created_date: '2026-06-12 04:21' labels: - tui - feature dependencies: [] priority: medium ordinal: 31000 --- ## Description Add a 4th page accessible via `4` key showing a status table of all sources — useful for debugging stale data, misconfigured sources, and forced refreshes. Columns: Kind | Enabled | Last Refreshed | Status (ok/error/unconfigured) | Error message (truncated) Features: - `r` on a selected row calls `POST /api/sources/{id}/refresh` to force-refresh that source - Rows color-coded: green = ok, red = error, dim = disabled - Auto-refreshes the table every 30s alongside the main data refresh - Selected row shows full error in a detail area below the table Implementation: - Add `("page-status", "Status")` to `PAGES` - Add `4` binding - Use `DataTable` widget for the table - Fetch from existing `/api/sources` endpoint; all data already available ## Acceptance Criteria - [ ] #1 4 key switches to the Status page - [ ] #2 Table shows all sources with kind, enabled state, last refresh time, and ok/error status - [ ] #3 r on selected row triggers a force-refresh for that source - [ ] #4 Error messages visible for failed sources - [ ] #5 Page updates on the standard refresh interval